package top.mccsdl.Acbot.dao;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import top.mccsdl.Acbot.entity.KeyValue;
import top.mccsdl.Acbot.entity.user.Plugins;
import top.mccsdl.Acbot.entity.user.UserInfo;

import java.util.List;

@Mapper
public interface UserDao {
    UserInfo selectUserByUuid(@Param("uuid") String uuid);

    UserInfo selectUserByPdId(@Param("pdid") String pdid);

    void updateUserUuid(@Param("pdid") String pdid, @Param("uuid") String uuid);

    void updateUserUuidQQ(@Param("qq") String qq, @Param("uuid") String uuid);

    UserInfo selectUserByQQ(@Param("qq") String qq);


    List<KeyValue> selectAuthByUUID(@Param("uuid") String uuid);

    void updateInitialization(@Param("qq") String qq);

    List<Plugins> selectPlugins();

    Plugins selectPluginByZzQqAndZpMc(@Param("qq") String qq, @Param("mc") String mc);

    void addAuthPlugin(@Param("qq") String yhqq, @Param("key") String key, @Param("mc") String mc);

    void createUserInfo(@Param("qq") String qq, @Param("uuid") String uuid, @Param("name") String name);

    String selectUserUUidByQQ(@Param("qq") String qq);

    int delPluginByQQandLikeKey(@Param("qq") String qq,@Param("yhqq")  String yhqq,@Param("key") String key);

    int delPluginByQQ(@Param("yhqq") String yhqq);
}
